配置变更¶
本文是v2.3.0-> v2.7.0的配置变更说明文档
说明:在2.0.8版本及以后的安装包中的配置文件只包含了最精简化的配置,安装包中的配置文件已经足够满足hyperchain的正常使用。若您是第一次使用hyperchain,且希望更深入地使用hyperchain时,可以查阅相关功能的使用手册从而知晓配置文件的修改方法;若您以前已经部署过hyperchain,那么仍可以沿用原先的全量配置文件,只不过需要参考《配置变更》对一些配置上的变化进行确认。
增删节点¶
新增配置
- 配置文件路径:configuration/config/global/ns_genesis.toml
- 变更所述模块:genesis
- 变更原因:将链的ca模式上链,且不可更改
配置项 | 含义 |
---|---|
genes is.ca_mode | ca模式,配置后不支持修改。支持的ca模式有:中 心化ca,即Center;分布式ca,即Distributed;无ca,即none |
genes is.root_ca | 当ca模式为中心化ca,即Center时,配置信任的root ca |
删除配置
- 配置文件路径:configuration/config/global/ns_static.toml
- 变更所述模块:encryption, distributedCA
- 变更原因:删除是否开启分布式ca及是否启用Ecert的开关,通过ca_mode控制
配置项 | 含义 |
---|---|
encryption.check.enable | 是否启用ecert |
distributedCA.enable | 是否启用分布式ca |
不再支持rockit
嵌入式BaaS¶
新增配置
- 配置文件路径:configuration/config/system.toml
- 变更所述模块:baas
- 变更原因:新增内嵌版BaaS开关
配置项 | 含义 |
---|---|
baas.enable | 是否开启内嵌版BaaS |
新增配置
- 配置文件路径:configuration/config/dynamic.toml
- 变更所述模块:port
- 变更原因:新增内嵌版BaaS访问接口
配置项 | 含义 |
---|---|
port.baas | baas的访问端口 |
NoxBFT¶
新增配置
- 配置文件路径:configuration/config/global/ns_static.toml
- 变更所述模块:consensus.hotstuff
- 变更原因:共识checkpoint协议重构以及稳定性优化
配置项 | 默认值 | 含义 |
---|---|---|
consensus.hotstuf f.checkpoint_interval | 100 | 配置NoxBFT允许最大不生成检查点的 轮次数,超过此数量未生成检查点时, 会发起验证区块提案以强制生成检查点 |
co nsensus.hotstuff.chec kpoint_mem_cache_size | 2 | 配置NoxBFT在blo cktree中允许缓存几个检查点中的区块 |
consensus.hotstuff .backward_round_limit | 10 | 配置 NoxBFT落后多少轮后去调用syncchain 同步,落后的轮次低于此数量时,只会 采用fetch的方式拉取落后的共识区块 |
co nsensus.hotstuff.memp ool.commit_cache_size | 3 | 配置mempool 允许缓存多少个提交过的区块中的交易 |
轻节点¶
新增配置
- 配置文件路径:configuration/config/global/ns_static.toml
- 变更所述模块:executor
- 变更原因:新增lp节点类型
配置项 | 默认值 | 含义 |
---|---|---|
executor.lp.send_limit | 500 | vp节点给lp节点 发送的一批区块的数量限制 |
executor.lp.resend_interval | 5s | p节点给lp节点、lp节点给 vp节点重发数据的时间间隔 |
gas排序¶
配置项变更
- 配置文件路径:configuration/global/ns_static.toml
- 变更所述模块:consensus
- 变更原因:新增了交易池类型”priced”用于NFT等需求中支持打包时根据交易的优先级(通常指gas price)进行排序。
配置项 | 含义 | 变更类型 |
---|---|---|
consensus.hotst uff.mempool.type | 启动ho tstuff算法时使 用的交易池类型 | 新增交易池类型”pric ed”,用于支持hotstuff算法按照gas price进行打包排序 |
sync_chain模块¶
配置项变更
- 配置文件路径:configuration/global/ns_static.toml
- 变更所述模块:sync
- 变更原因:sync_chain流程重构,使用一套新的配置项。目前,sync_chain相关的配置完全处于[sync]标签下,原[executor.sync_chain]下的配置均已弃用。
[sync]
[sync.target]
epoch = 0
height = -1
hash = ""
[sync.provider]
available_mem = "100mb"
[sync.fetcher]
priority = "block"
sync_journal_receipt = false
sync_hpc_blocks = false
batch_block_num = 50
ledger_part_size = "100kb"
[sync.fetcher.task]
timeout = "7s"
limit = 10
配置项 | 含义 | 配置规则 |
---|---|---|
sync.target.epoch | 节点启动时预期同步的epoch值 | |
sync.target.height | 节点启动时预期同步的区块号 | 要求该配置项 >= sync.targ et.epoch对应的ch eckpoint的区块号 |
sync.target.hash | sync. target.height对应的区块hash | |
sync.prov ider.available_mem | 提供数据端每 一次提供的数据占用内存上限 | |
syn c.fetcher.priority | 优先同步更 多的区块还是更高的snapshot | 合法可选值为: |
sync.fetcher.sy nc_journal_receipt | 拉取区块数据时 ,是否同时拉取journal和rece ipt(如果配置为true,则会执 行journal,否则会执行交易) | |
sync.fetch er.sync_hpc_blocks | 是否要同步hype rchain1.8产生的历史数据(只 针对从1.8升级到2.X的场景) | 该配置项如果为 true,则节点一定 采用“优先同步更 多区块”的模式, 即sync.fetcher. priority不再生效 |
sync.fetch er.batch_block_num | 每一批拉取的数据 包数量(该配置通用于拉取数 据的各个流程中,表示一个请 求包含多少个数据包的拉取) | |
sync.fetche r.ledger_part_size | 当需要同 步账本时,账本数据会被视为 一个文件,该配置项表示一个 账本文件数据包分片的大小( 例如:账本数据大小为1M,该 配置项为50kb;那么一共需要21 [1024/50向上取整]个数据包) | |
sync.fe tcher.task.timeout | 拉取 数据流程内部会将拉取一批ba tch_block_num个数据包的过程 视为一个task,该配置项表示 :系统时间每经过多久回尝试 一次将未完成的task重新发送 | |
sync. fetcher.task.limit | 该配置项表示同时可以有 多少个未完成的task并行执行 |